Micron Document
NexusPi Git Node


Displaying Raw • Download

lib/microReticulum/src/FileSystem.h copilot/add-rtnode-configuration-options (9529fa8a) Text, 5.21 KB

Tff7b72#Tff7b72pragma once

Tff7b72#Tff7b72include T8b949e"FileStream.h"
Tff7b72#Tff7b72include T8b949e"Log.h"
Tff7b72#Tff7b72include T8b949e"Bytes.h"
Tff7b72#Tff7b72include T8b949e"Type.h"

Tff7b72#Tff7b72include T8b949e<list>
Tff7b72#Tff7b72include T8b949e<memory>
Tff7b72#Tff7b72include T8b949e<cassert>
Tff7b72#Tff7b72include T8b949e<stdint.h>

Te6edf3namespace Te6edf3RNS Tb4b4b4{

Te6edf3class Te6edf3FileSystemImpl Tb4b4b4{

Te6edf3protectedTff7b72:
Te6edf3FileSystemImplTb4b4b4(Tb4b4b4) Tb4b4b4{ Te6edf3MEMFTb4b4b4(Ta5d6ff"Ta5d6ffFileSystem::FileSystemImpl object created, this: 0x%XTa5d6ff"Tb4b4b4, Te6edf3thisTb4b4b4)Tb4b4b4; Tb4b4b4}
Te6edf3publicTff7b72:
Te6edf3virtual Tff7b72~Te6edf3FileSystemImplTb4b4b4(Tb4b4b4) Tb4b4b4{ Te6edf3MEMFTb4b4b4(Ta5d6ff"Ta5d6ffFileSystem::FileSystemImpl object destroyed, this: 0x%XTa5d6ff"Tb4b4b4, Te6edf3thisTb4b4b4)Tb4b4b4; Tb4b4b4}

Te6edf3protectedTff7b72:
Te6edf3virtual Tffa657bool Te6edf3initTb4b4b4(Tb4b4b4) Tb4b4b4{ Tff7b72return Tffa657trueTb4b4b4; Tb4b4b4}
Te6edf3virtual Tffa657void Te6edf3loopTb4b4b4(Tb4b4b4) Tb4b4b4{Tb4b4b4}
Te6edf3virtual Tffa657bool Te6edf3file_existsTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3file_pathTb4b4b4) Tff7b72= T79c0ff0Tb4b4b4;
Te6edf3virtual Tffa657size_t Te6edf3read_fileTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3file_pathTb4b4b4, Te6edf3BytesTff7b72& Te6edf3dataTb4b4b4) Tff7b72= T79c0ff0Tb4b4b4;
Te6edf3virtual Tffa657size_t Te6edf3write_fileTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3file_pathTb4b4b4, Tff7b72const Te6edf3BytesTff7b72& Te6edf3dataTb4b4b4) Tff7b72= T79c0ff0Tb4b4b4;
Te6edf3virtual Te6edf3FileStream Te6edf3open_fileTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3file_pathTb4b4b4, Te6edf3FileStreamTff7b72:Tff7b72:Te6edf3MODE Te6edf3file_modeTb4b4b4) Tff7b72= T79c0ff0Tb4b4b4;
Te6edf3virtual Tffa657bool Te6edf3remove_fileTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3file_pathTb4b4b4) Tff7b72= T79c0ff0Tb4b4b4;
Te6edf3virtual Tffa657bool Te6edf3rename_fileTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3from_file_pathTb4b4b4, Tff7b72const Tffa657charTff7b72* Te6edf3to_file_pathTb4b4b4) Tff7b72= T79c0ff0Tb4b4b4;
Te6edf3virtual Tffa657bool Te6edf3directory_existsTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3directory_pathTb4b4b4) Tff7b72= T79c0ff0Tb4b4b4;
Te6edf3virtual Tffa657bool Te6edf3create_directoryTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3directory_pathTb4b4b4) Tff7b72= T79c0ff0Tb4b4b4;
Te6edf3virtual Tffa657bool Te6edf3remove_directoryTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3directory_pathTb4b4b4) Tff7b72= T79c0ff0Tb4b4b4;
Te6edf3virtual Te6edf3stdTff7b72:Tff7b72:Te6edf3listTff7b72<Te6edf3stdTff7b72:Tff7b72:Te6edf3stringTff7b72> Te6edf3list_directoryTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3directory_pathTb4b4b4) Tff7b72= T79c0ff0Tb4b4b4;
Te6edf3virtual Tffa657size_t Te6edf3storage_sizeTb4b4b4(Tb4b4b4) Tff7b72= T79c0ff0Tb4b4b4;
Te6edf3virtual Tffa657size_t Te6edf3storage_availableTb4b4b4(Tb4b4b4) Tff7b72= T79c0ff0Tb4b4b4;

Te6edf3friend Te6edf3class Te6edf3FileSystemTb4b4b4;
Tb4b4b4}Tb4b4b4;

Te6edf3class Te6edf3FileSystem Tb4b4b4{

Te6edf3publicTff7b72:
Te6edf3FileSystemTb4b4b4(Te6edf3TypeTff7b72:Tff7b72:Te6edf3NoneConstructor Te6edf3noneTb4b4b4) Tb4b4b4{
Te6edf3MEMFTb4b4b4(Ta5d6ff"Ta5d6ffFileSystem NONE object created, this: 0x%X, impl: 0x%XTa5d6ff"Tb4b4b4, Te6edf3thisTb4b4b4, Te6edf3_implTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3FileSystemTb4b4b4(Tff7b72const Te6edf3FileSystemTff7b72& Te6edf3objTb4b4b4) Tff7b72: Te6edf3_implTb4b4b4(Te6edf3objTb4b4b4.Te6edf3_implTb4b4b4) Tb4b4b4{
Te6edf3MEMFTb4b4b4(Ta5d6ff"Ta5d6ffFileSystem object copy created, this: 0x%X, impl: 0x%XTa5d6ff"Tb4b4b4, Te6edf3thisTb4b4b4, Te6edf3_implTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3FileSystemTb4b4b4(Te6edf3FileSystemImplTff7b72* Te6edf3implTb4b4b4) Tff7b72: Te6edf3_implTb4b4b4(Te6edf3implTb4b4b4) Tb4b4b4{
Te6edf3MEMFTb4b4b4(Ta5d6ff"Ta5d6ffFileSystem object impl created, this: 0x%X, impl: 0x%XTa5d6ff"Tb4b4b4, Te6edf3thisTb4b4b4, Te6edf3_implTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3virtual Tff7b72~Te6edf3FileSystemTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3MEMFTb4b4b4(Ta5d6ff"Ta5d6ffFileSystem object destroyed, this: 0x%X, impl: 0x%XTa5d6ff"Tb4b4b4, Te6edf3thisTb4b4b4, Te6edf3_implTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tff7b72inline Te6edf3FileSystemTff7b72& Te6edf3operator Tff7b72= Tb4b4b4(Tff7b72const Te6edf3FileSystemTff7b72& Te6edf3objTb4b4b4) Tb4b4b4{
Te6edf3_impl Tff7b72= Te6edf3objTb4b4b4.Te6edf3_implTb4b4b4;
Te6edf3MEMFTb4b4b4(Ta5d6ff"Ta5d6ffFileSystem object copy created by assignment, this: 0x%X, impl: 0x%XTa5d6ff"Tb4b4b4, Te6edf3thisTb4b4b4, Te6edf3_implTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72return Tff7b72*Te6edf3thisTb4b4b4;
Tb4b4b4}
Tff7b72inline Te6edf3FileSystemTff7b72& Te6edf3operator Tff7b72= Tb4b4b4(Te6edf3FileSystemImplTff7b72* Te6edf3implTb4b4b4) Tb4b4b4{
Te6edf3_implTb4b4b4.Te6edf3resetTb4b4b4(Te6edf3implTb4b4b4)Tb4b4b4;
Te6edf3MEMFTb4b4b4(Ta5d6ff"Ta5d6ffFileSystem object copy created by impl assignment, this: 0x%X, impl: 0x%XTa5d6ff"Tb4b4b4, Te6edf3thisTb4b4b4, Te6edf3_implTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72return Tff7b72*Te6edf3thisTb4b4b4;
Tb4b4b4}
Tff7b72inline Te6edf3operator Tffa657boolTb4b4b4(Tb4b4b4) Tff7b72const Tb4b4b4{
Te6edf3MEMFTb4b4b4(Ta5d6ff"Ta5d6ffFileSystem object bool, this: 0x%X, impl: 0x%XTa5d6ff"Tb4b4b4, Te6edf3thisTb4b4b4, Te6edf3_implTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3_implTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4) Tff7b72!Tff7b72= Tffa657nullptrTb4b4b4;
Tb4b4b4}
Tff7b72inline Tffa657bool Te6edf3operator Tff7b72< Tb4b4b4(Tff7b72const Te6edf3FileSystemTff7b72& Te6edf3objTb4b4b4) Tff7b72const Tb4b4b4{
Te6edf3MEMFTb4b4b4(Ta5d6ff"Ta5d6ffFileSystem object <, this: 0x%X, impl: 0x%XTa5d6ff"Tb4b4b4, Te6edf3thisTb4b4b4, Te6edf3_implTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3_implTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4) Tff7b72< Te6edf3objTb4b4b4.Te6edf3_implTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72inline Tffa657bool Te6edf3operator Tff7b72> Tb4b4b4(Tff7b72const Te6edf3FileSystemTff7b72& Te6edf3objTb4b4b4) Tff7b72const Tb4b4b4{
Te6edf3MEMFTb4b4b4(Ta5d6ff"Ta5d6ffFileSystem object <, this: 0x%X, impl: 0x%XTa5d6ff"Tb4b4b4, Te6edf3thisTb4b4b4, Te6edf3_implTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3_implTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4) Tff7b72> Te6edf3objTb4b4b4.Te6edf3_implTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72inline Tffa657bool Te6edf3operator Tff7b72=Tff7b72= Tb4b4b4(Tff7b72const Te6edf3FileSystemTff7b72& Te6edf3objTb4b4b4) Tff7b72const Tb4b4b4{
Te6edf3MEMFTb4b4b4(Ta5d6ff"Ta5d6ffFileSystem object ==, this: 0x%X, impl: 0x%XTa5d6ff"Tb4b4b4, Te6edf3thisTb4b4b4, Te6edf3_implTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3_implTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4) Tff7b72=Tff7b72= Te6edf3objTb4b4b4.Te6edf3_implTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72inline Tffa657bool Te6edf3operator Tff7b72!Tff7b72= Tb4b4b4(Tff7b72const Te6edf3FileSystemTff7b72& Te6edf3objTb4b4b4) Tff7b72const Tb4b4b4{
Te6edf3MEMFTb4b4b4(Ta5d6ff"Ta5d6ffFileSystem object !=, this: 0x%X, impl: 0x%XTa5d6ff"Tb4b4b4, Te6edf3thisTb4b4b4, Te6edf3_implTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3_implTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4) Tff7b72!Tff7b72= Te6edf3objTb4b4b4.Te6edf3_implTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72inline Te6edf3FileSystemImplTff7b72* Te6edf3getTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3_implTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72inline Tffa657void Te6edf3clearTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3_implTb4b4b4.Te6edf3resetTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Te6edf3publicTff7b72:
Tff7b72inline Tffa657bool Te6edf3initTb4b4b4(Tb4b4b4) Tb4b4b4{ Te6edf3assertTb4b4b4(Te6edf3_implTb4b4b4)Tb4b4b4; Tff7b72return Te6edf3_implTff7b72-Tff7b72>Te6edf3initTb4b4b4(Tb4b4b4)Tb4b4b4; Tb4b4b4}
Tff7b72inline Tffa657void Te6edf3loopTb4b4b4(Tb4b4b4) Tb4b4b4{ Te6edf3assertTb4b4b4(Te6edf3_implTb4b4b4)Tb4b4b4; Tff7b72return Te6edf3_implTff7b72-Tff7b72>Te6edf3loopTb4b4b4(Tb4b4b4)Tb4b4b4; Tb4b4b4}
Tff7b72inline Tffa657bool Te6edf3file_existsTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3file_pathTb4b4b4) Tb4b4b4{ Te6edf3assertTb4b4b4(Te6edf3_implTb4b4b4)Tb4b4b4; Tff7b72return Te6edf3_implTff7b72-Tff7b72>Te6edf3file_existsTb4b4b4(Te6edf3file_pathTb4b4b4)Tb4b4b4; Tb4b4b4}
Tff7b72inline Tffa657size_t Te6edf3read_fileTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3file_pathTb4b4b4, Te6edf3BytesTff7b72& Te6edf3dataTb4b4b4) Tb4b4b4{ Te6edf3assertTb4b4b4(Te6edf3_implTb4b4b4)Tb4b4b4; Tff7b72return Te6edf3_implTff7b72-Tff7b72>Te6edf3read_fileTb4b4b4(Te6edf3file_pathTb4b4b4, Te6edf3dataTb4b4b4)Tb4b4b4; Tb4b4b4}
Tff7b72inline Tffa657size_t Te6edf3write_fileTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3file_pathTb4b4b4, Tff7b72const Te6edf3BytesTff7b72& Te6edf3dataTb4b4b4) Tb4b4b4{ Te6edf3assertTb4b4b4(Te6edf3_implTb4b4b4)Tb4b4b4; Tff7b72return Te6edf3_implTff7b72-Tff7b72>Te6edf3write_fileTb4b4b4(Te6edf3file_pathTb4b4b4, Te6edf3dataTb4b4b4)Tb4b4b4; Tb4b4b4}
Tff7b72inline Te6edf3FileStream Te6edf3open_fileTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3file_pathTb4b4b4, Te6edf3FileStreamTff7b72:Tff7b72:Te6edf3MODE Te6edf3file_modeTb4b4b4) Tb4b4b4{ Tff7b72return Te6edf3_implTff7b72-Tff7b72>Te6edf3open_fileTb4b4b4(Te6edf3file_pathTb4b4b4, Te6edf3file_modeTb4b4b4)Tb4b4b4; Tb4b4b4}
Tff7b72inline Tffa657bool Te6edf3remove_fileTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3file_pathTb4b4b4) Tb4b4b4{ Te6edf3assertTb4b4b4(Te6edf3_implTb4b4b4)Tb4b4b4; Tff7b72return Te6edf3_implTff7b72-Tff7b72>Te6edf3remove_fileTb4b4b4(Te6edf3file_pathTb4b4b4)Tb4b4b4; Tb4b4b4}
Tff7b72inline Tffa657bool Te6edf3rename_fileTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3from_file_pathTb4b4b4, Tff7b72const Tffa657charTff7b72* Te6edf3to_file_pathTb4b4b4) Tb4b4b4{ Te6edf3assertTb4b4b4(Te6edf3_implTb4b4b4)Tb4b4b4; Tff7b72return Te6edf3_implTff7b72-Tff7b72>Te6edf3rename_fileTb4b4b4(Te6edf3from_file_pathTb4b4b4, Te6edf3to_file_pathTb4b4b4)Tb4b4b4; Tb4b4b4}
Tff7b72inline Tffa657bool Te6edf3directory_existsTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3directory_pathTb4b4b4) Tb4b4b4{ Te6edf3assertTb4b4b4(Te6edf3_implTb4b4b4)Tb4b4b4; Tff7b72return Te6edf3_implTff7b72-Tff7b72>Te6edf3directory_existsTb4b4b4(Te6edf3directory_pathTb4b4b4)Tb4b4b4; Tb4b4b4}
Tff7b72inline Tffa657bool Te6edf3create_directoryTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3directory_pathTb4b4b4) Tb4b4b4{ Te6edf3assertTb4b4b4(Te6edf3_implTb4b4b4)Tb4b4b4; Tff7b72return Te6edf3_implTff7b72-Tff7b72>Te6edf3create_directoryTb4b4b4(Te6edf3directory_pathTb4b4b4)Tb4b4b4; Tb4b4b4}
Tff7b72inline Tffa657bool Te6edf3remove_directoryTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3directory_pathTb4b4b4) Tb4b4b4{ Te6edf3assertTb4b4b4(Te6edf3_implTb4b4b4)Tb4b4b4; Tff7b72return Te6edf3_implTff7b72-Tff7b72>Te6edf3remove_directoryTb4b4b4(Te6edf3directory_pathTb4b4b4)Tb4b4b4; Tb4b4b4}
Tff7b72inline Te6edf3stdTff7b72:Tff7b72:Te6edf3listTff7b72<Te6edf3stdTff7b72:Tff7b72:Te6edf3stringTff7b72> Te6edf3list_directoryTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3directory_pathTb4b4b4) Tb4b4b4{ Te6edf3assertTb4b4b4(Te6edf3_implTb4b4b4)Tb4b4b4; Tff7b72return Te6edf3_implTff7b72-Tff7b72>Te6edf3list_directoryTb4b4b4(Te6edf3directory_pathTb4b4b4)Tb4b4b4; Tb4b4b4}
Tff7b72inline Tffa657size_t Te6edf3storage_sizeTb4b4b4(Tb4b4b4) Tb4b4b4{ Te6edf3assertTb4b4b4(Te6edf3_implTb4b4b4)Tb4b4b4; Tff7b72return Te6edf3_implTff7b72-Tff7b72>Te6edf3storage_sizeTb4b4b4(Tb4b4b4)Tb4b4b4; Tb4b4b4}
Tff7b72inline Tffa657size_t Te6edf3storage_availableTb4b4b4(Tb4b4b4) Tb4b4b4{ Te6edf3assertTb4b4b4(Te6edf3_implTb4b4b4)Tb4b4b4; Tff7b72return Te6edf3_implTff7b72-Tff7b72>Te6edf3storage_availableTb4b4b4(Tb4b4b4)Tb4b4b4; Tb4b4b4}

Te6edf3privateTff7b72:
Te6edf3stdTff7b72:Tff7b72:Te6edf3listTff7b72<Te6edf3stdTff7b72:Tff7b72:Te6edf3stringTff7b72> Te6edf3_emptyTb4b4b4;

T8b949e// getters/setters
Te6edf3protectedTff7b72:
Te6edf3publicTff7b72:

Tff7b72#Tff7b72ifndef NDEBUG
Tff7b72inline Te6edf3stdTff7b72:Tff7b72:Te6edf3string Te6edf3debugStringTb4b4b4(Tb4b4b4) Tff7b72const Tb4b4b4{
Te6edf3stdTff7b72:Tff7b72:Te6edf3string Te6edf3dumpTb4b4b4;
Te6edf3dump Tff7b72= Ta5d6ff"Ta5d6ffFileSystem object, this: Ta5d6ff" Tff7b72+ Te6edf3stdTff7b72:Tff7b72:Te6edf3to_stringTb4b4b4(Tb4b4b4(Tffa657uintptr_tTb4b4b4)Te6edf3thisTb4b4b4) Tff7b72+ Ta5d6ff"Ta5d6ff, data: Ta5d6ff" Tff7b72+ Te6edf3stdTff7b72:Tff7b72:Te6edf3to_stringTb4b4b4(Tb4b4b4(Tffa657uintptr_tTb4b4b4)Te6edf3_implTb4b4b4.Te6edf3getTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3dumpTb4b4b4;
Tb4b4b4}
Tff7b72#Tff7b72endif

Te6edf3protectedTff7b72:
Te6edf3stdTff7b72:Tff7b72:Te6edf3shared_ptrTff7b72<Te6edf3FileSystemImplTff7b72> Te6edf3_implTb4b4b4;
Tb4b4b4}Tb4b4b4;

Tb4b4b4}

Served by rngit 1.4.2 - Generated in 0.03s